package cn.hicard.util;

import java.text.DecimalFormat;

/**
 * 金钱工具类
 * @author  zhangyu
 *
 */
public class Money {

	private static DecimalFormat df = new DecimalFormat("#,##0.00");
	
	/**
	 * 将[元]的字符串（可包含小数点）转换为[分]的整型
	 * @param strMoney
	 * @return
	 */
	public static Long convertToCent(String strMoney){
		// 转为标准两位小数，再把小数点右移两位，将元转为分，舍去其余部分
		// 如果是小数点开头
		if(strMoney.startsWith(".")){
			strMoney = (strMoney+"00").substring(1,3);
		}
		// 如果小数点在其它位//多补两个0以防不够
		else if(strMoney.contains(".")){
			strMoney = (strMoney.replace(".", "")+"00").substring(0, strMoney.indexOf(".")+2);
		}
		// 没有数点就添加两个0
		else{
			strMoney = strMoney+"00";
		}
		return Long.valueOf(strMoney);		
	}
	
	/**
	 * 使用“千分符”格试化[分]的金额数字，例如2418650会被格式化为24,186.50
	 * @param cent
	 * @return
	 */
	public static String format(Long cent){
		return df.format(cent);
	}
	
}
